﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BLToolkit.DataAccess;
using BLToolkit.Mapping;

namespace Data_Access_Layer
{
    [TableName("OrderDetail")]
    public class OrderDetail:Devsoft.DB.Models.Flat.Model<OrderDetail>
    {

		/// <summary>
		/// Gán hoặc lấy mã chi tiết hóa đơn
		/// </summary>
		[PrimaryKey,Identity]
		public int Id { get; set; }
        /// <summary>
        /// Gán hoặc lấy mã của hóa đơn
        /// </summary>
        
        public int OrderId { get; set; }
        /// <summary>
        /// Gán hoặc lấy mã hàng hóa
        /// </summary>
        
        public int ArtId { get; set; }
        /// <summary>
        /// Gán hoặc lấy số lượng hàng hóa trong chi tiết hóa đơn
        /// </summary>
        public int Quantity { get; set; }
        /// <summary>
        /// Gán hoặc lấy giá của hàng hóa
        /// </summary>
        public float Price { get; set; }
        /// <summary>
        /// Gán hoặc lấy trạng thái xóa hoặc chưa
        /// </summary>
        public bool Deleted { get; set; }

        /// <summary>
        /// Lấy giá trị thành tiền
        /// </summary>
        [MapIgnore]
        public float Total
        {
            get { return Quantity*Price; }
        }

        /// <summary>
        /// Thông tin về hàng hóa sử dụng
        /// </summary>
        [Association(ThisKey = "ArtId", OtherKey = "Id", CanBeNull = false)]
        public Article Article { get; set; }

    }
}
